]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
thunderbolt: Do not auto start boltd
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 26 Feb 2018 18:21:43 +0000 (19:21 +0100)
committerJonas Ådahl <jadahl@gmail.com>
Mon, 25 Jun 2018 14:17:07 +0000 (14:17 +0000)
The service is expected to be activated by systemd when a thunderbolt
device is plugged in, so no need to have it auto-started with the
session.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/54

js/ui/status/thunderbolt.js

index 98e81dbf330f0437abb8fbc6b8d701ac6973dcd0..0c543190c1bf13f14bc48ef7e7b41ebb37efa55e 100644 (file)
@@ -49,7 +49,6 @@ const BoltDeviceInterface = '<node> \
   </interface> \
 </node>';
 
-const BoltClientProxy = Gio.DBusProxy.makeProxyWrapper(BoltClientInterface);
 const BoltDeviceProxy = Gio.DBusProxy.makeProxyWrapper(BoltDeviceInterface);
 
 /*  */
@@ -78,6 +77,7 @@ var AuthMode = {
     ENABLED: 'enabled'
 };
 
+const BOLT_DBUS_CLIENT_IFACE = 'org.freedesktop.bolt1.Manager';
 const BOLT_DBUS_NAME = 'org.freedesktop.bolt';
 const BOLT_DBUS_PATH = '/org/freedesktop/bolt';
 
@@ -87,22 +87,26 @@ var Client = new Lang.Class({
     _init() {
 
        this._proxy = null;
-        new BoltClientProxy(
-           Gio.DBus.system,
-           BOLT_DBUS_NAME,
-           BOLT_DBUS_PATH,
-           this._onProxyReady.bind(this)
-       );
+        let nodeInfo = Gio.DBusNodeInfo.new_for_xml(BoltClientInterface);
+        Gio.DBusProxy.new(Gio.DBus.system,
+                          Gio.DBusProxyFlags.DO_NOT_AUTO_START,
+                          nodeInfo.lookup_interface(BOLT_DBUS_CLIENT_IFACE),
+                          BOLT_DBUS_NAME,
+                          BOLT_DBUS_PATH,
+                          BOLT_DBUS_CLIENT_IFACE,
+                          null,
+                          this._onProxyReady.bind(this));
 
        this.probing = false;
     },
 
-    _onProxyReady(proxy, error) {
-       if (error !== null) {
-           log('error creating bolt proxy: %s'.format(error.message));
-           return;
-       }
-       this._proxy = proxy;
+    _onProxyReady(o, res) {
+        try {
+           this._proxy = Gio.DBusProxy.new_finish(res);
+        } catch(e) {
+           log('error creating bolt proxy: %s'.format(e.message));
+            return;
+        }
        this._propsChangedId = this._proxy.connect('g-properties-changed', this._onPropertiesChanged.bind(this));
        this._deviceAddedId = this._proxy.connectSignal('DeviceAdded', this._onDeviceAdded.bind(this));